package com.mes.dao.hy;

import java.util.HashMap;
import java.util.List;
import com.mes.entity.hy.Equipment;
import com.mes.entity.hy.PeopleManage;
import com.mes.entity.hy.Product;

/**
 * 
 * @ClassName:EquipmentMapper
 * @Description: 设备dao层接口
 * @Author hy
 * @Date 2018-5-30上午10:07:57
 * @version 1.0
 */
public interface EquipmentMapper {

	/**
	 * 修改
	 * @param equipment 设备类
	 * @return int型修改结果
	 */
	public int update(Equipment equipment);

	/**
	 * 查询设备（设备信息模块）
	 * @param equipment 设备类
	 * @return List<Equipment>
	 */
	public List<Equipment> equOth(Equipment equipment);

	/**
	 * 设备总数
	 * @return int型总数
	 */
	public int equCount();

	/**
	 * 根据id查询
	 * @param equipment 设备类
	 * @return equipment 设备类
	 */
	public Equipment selectById(Equipment equipment);

	/**
	 * 删除
	 * @param eid 设备id
	 * @return int返回值
	 */
	public int delete(Long eid);

	/**
	 * 新增
	 * @param equipment 设备类
	 * @return int 返回值
	 */
	public int addEqui(Equipment equipment);

	/**
	 * 查询全部
	 * @return List<Equipment>
	 */
	public List<Equipment> selAll();

	/**
	 * 条件查询设备
	 * @param equipment 设备类
	 * @return List<Equipment>
	 */
	public List<Equipment> selectEquipment(Equipment equipment);

	/**
	 * 条件查询总数
	 * @param equipment 设备类
	 * @return int型总数
	 */
	public int selectCount(Equipment equipment);

	/**
	 * 查询所有设备
	 * @return List<Equipment>
	 */
	public List<Equipment> findAllDevice();

	/**
	 * id查询设备
	 * @param id 设备id
	 * @return Equipment 设备类
	 */
	public Equipment findByDeviceId(Long id);

	/**
	 * 根据设备查询产品
	 * @param equipment 设备类
	 * @return List<Product>
	 */
	public List<Product> findProductOfDev(Equipment equipment);

	/**
	 * 查询计划单号
	 * @param map
	 * @return
	 */
	public String findPlanNumByCondition(HashMap<String, Object> map);

	/**
	 * 根据设备型号查询设备名
	 * @param remark 设备型号
	 * @return String设备名
	 */
	public String findDevNameByDevVersion(String remark);

	/**
	 * 查询不良品数
	 * @param map
	 * @return 数量
	 */
	public int findNoGoodNum(HashMap<String, Object> map);

	/**
	 * 添加人员管理
	 * @param pm
	 */
	public void addPeopleManage(PeopleManage pm);
}